Міністерство освіти і науки України
НУ «Львівська політехніка»
Кафедра САПР
Лабораторна робота №2
З дисципліни «Мікропроцесори»
По темі: Способи адресації операндів і команди пересилання даних однокристального МП КР580.
Виконав ст. гр. кн.-3
Львів-2008
Мета роботи
Вивчити способи адресації операндів і команди пересилання даних в однокристальному мікропроцесорі (МП) КР580, набути практичні навики складання і налагодження програм з використанням цих команд.
Короткі теоретичні відомості
2.1 Способи адресації в МП КР580
Пам'ять МП КР580 має байтову структуру – можлива адресація в пам'яті будь-якогобайта. Ширина вибору з пам'яті – 1 байт. При звертанні до пам'яті використовуються 16-розрядні (двобайтові) адреси. Адресний простір МП КР580 становить 64 Кбайти.
Схема команд МП КР580 містить 244 команди. Команди складаються з одного, двох аюо трьох байтів і знаходяться в пам'яті(оперативній або постійній). Багатобайтові команди зберігаються в сусідніх комірках пам'яті.
В однобайтових командах байт використовується для задання коду виконуваної операції. Однобайтові команди – це команди обміну з пам'яттю, арифметичні, логічні, зсувів, операцій зі стеком, керування системою керувань.
Двобайтові команди – це команди з безпосереднім операндом або команди вводу\виводу. Перший байт команди містить код виконуваної операції, а другий – або безпосередній операнд, або операнд адреси порту вводу\виводу.
Трибайтові команди містять у першому байті код виконуваної операції, а в другому – або адреси пам'яті, або два байти безпосередніх даних.
Операнд, який розуміється. В команді не задаються явно ні адреса операнда, ні він сам.опернд розуміється і фактично задається кодом операції команди.
INR A (збільшити на 1 вміст акумулятора)
1100 1100
2. Неявна адресація. При цьому способі адресації адреса одного або двох операндів неявно задається в коді операції. У МП КР580 перший операнд завжди находиться в акумуляторі, а другий може бути адресований прямо, непрямо або безпосередньо.
DAA(виконати десяткове доповнення акумулятора)
0010 0111
3. Безпосередня адресація. При безпосередній адресації операнд є частиною виконуваної команди. У МП КР580 допускається безпосередньо адресувати 8-бітні і 16-бітні слова.
ADI 80H
1100 0110 1000 0000
4. Пряма регістрова адресація. У полі операндів команди задаються адреси регістрів загального призначення (РЗП) A, B, C, D, H, L. У МП КР580 використовується трирозрядне поле для вибору одного з семи РЗП.
MOV E,C
01 011 001
5. Пряма адресація. У полі операнда міститься повна 16-бітна адреса байта пам'яті.
STA 800H
0011 0010 0000 0000 0000 1000
6. Непряма регістрова адресація. В адресному полі команди вказується код пари регістрів, в якій міститься адреса комірки пам'яті, де розміщені потрібні дані.
STAX B
00 00 0010
7. Стекова адресація. При стековій адресації реалізується безпосереднє завдання операнда. Дані заносяться в стек або зчитуються зі стеку, на початок якого вказує вміст вказівника стеку (SP).
PUSH B
11 00 0101
2.2 Команди пересилання даних МП КР580
1. Пересилання даних з регістра в регістр.
MOV R1, R2; (R1) (R2).
Вміст регістра R2 пересилається в регістр R1. R1, R2 – регістри загального призначення (РЗП) A, B, C, D, E, L.
2. Пересилання даних з пам'яті в регістр.
MOV R, M; (R) ((H)(L)); R – A, B, C, D, E, H, L.
Вміст комірки пам'яті, адреса якої знаходиться в регістрах H i L пересилається в РЗП R. В регістрі Н задається старша половина адреси, в регістрі L – молодша половина.
Непряме завантаження акумулятора.
LDAX RP ; (A) ((rh)(rl)); RP: B-BC, D-DE.
В акумулятор пересилається вміст комірки пам'яті, адреса якої задається в парі регістрів RP.
4. Запам'ятати д...